/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.gob.pnp.despachadores;

import java.sql.*;
import java.util.*;
import oracle.jdbc.*;
import pe.gob.pnp.actions.*;
import pe.gob.pnp.factories.*;
/**
 *
 * @author Gregorovichz Carlos Rossi
 * @date  31/03/2010
 */
public class PrivilegioDespachador {
 public static List<PrivilegioRecurso> obtenerRecursoxPerfil(int npereidentificador) throws SQLException{
        List<PrivilegioRecurso> lstPrivilegioRecurso = new ArrayList<PrivilegioRecurso>();
        Connection conn = null;
        try{
            conn=ConnectionPool.obtenerConexion();
            String sql="{call SP_OBTENER_PRIVILEGIO_RECURSO(?,?)}";
            CallableStatement cs=conn.prepareCall(sql);
            cs.setInt(1, npereidentificador);
            cs.registerOutParameter(2, OracleTypes.CURSOR);
            cs.execute();
            ResultSet rs=(ResultSet) cs.getObject(2);
            while (rs.next()){
                PrivilegioRecurso privilegioRecurso = new PrivilegioRecurso();
                privilegioRecurso.setNprivIdentificador(rs.getInt("NPRIV_IDENTIFICADOR"));
                privilegioRecurso.setCprivNombre(rs.getString("CPRIV_NOMBRE"));
                privilegioRecurso.setCprivDescripcion(rs.getString("CPRIV_DESCRIPCION"));
                privilegioRecurso.setCprivValorRetorno(rs.getString("CPRIV_VALORRETORNO"));
                privilegioRecurso.setNprivNroParametros(rs.getInt("NPRIV_NROPARAMETROS"));
                privilegioRecurso.setBprivActivo(rs.getBoolean("BPRIV_ACTIVO"));
                lstPrivilegioRecurso.add(privilegioRecurso);
            }
        }finally{
            ConnectionPool.liberarConexion(conn);
        }
        return lstPrivilegioRecurso;
    }
}
